
package rest.pojo.conversor;

import entidade.Local;
import java.util.ArrayList;
import java.util.List;
import rest.pojo.LocalPOJO;

public class LocalConverter {
    
    private static final LocalConverter uniqueInstance = new LocalConverter();
    
    private LocalConverter(){
        
    }
    
    public static LocalConverter getInstance(){
        return uniqueInstance;
    }
    
    public static LocalPOJO toLocalPOJO(Local local){
        if (local!=null){
            LocalPOJO resposta = new LocalPOJO();
            
            resposta.setId(local.getId());
            resposta.setComplemento(local.getComplemento());
            resposta.setLatitude(local.getLatitude());
            resposta.setLongitude(local.getLongitude());
            resposta.setValidado(local.getValidado());
            resposta.setNome(local.getNome());
            
            return resposta;
        }else {
            return null;
        }
        
    }
    
    public static Local fromLocalPOJO(LocalPOJO localPOJO){
        if (localPOJO!=null){
            Local resposta= new Local();
            
            resposta.setId(localPOJO.getId());
            resposta.setNome(localPOJO.getNome());
            resposta.setComplemento(localPOJO.getComplemento());
            resposta.setValidado(localPOJO.getValidado());
            resposta.setLatitude(localPOJO.getLatitude());
            resposta.setLongitude(localPOJO.getLongitude());
            return resposta;
            
        }else {
            return null;
        }
    }
    
     public static List<LocalPOJO> toLocaisPOJO(List<Local> locais) {
        if (locais != null) {

            ArrayList<LocalPOJO> resposta = new ArrayList<>();

            locais.stream().forEach((Local local) -> {
                resposta.add(toLocalPOJO(local));
            });

            return resposta;
        } else {
            return null;
        }

    }

    public static List<Local> fromLocaisPOJO(List<LocalPOJO> locaisPOJO) {
        if (locaisPOJO != null) {

            ArrayList<Local> resposta = new ArrayList<>();

            locaisPOJO.stream().forEach((LocalPOJO localPOJO) -> {
                resposta.add(fromLocalPOJO(localPOJO));
            });

            return resposta;
        } else {
            return null;
        }
    }

}
